Non-volatile memories have attained wide utilization due to an ability to retain data within a device, particularly in the form of EEPROM and flash memory. Flash memory embedded and in the form of a removable card is suitable for the mobile and handheld environment because of its small size, low power consumption, high speed and high reliability features. Non-volatile memories are able to provide these advantages, but there are still problems, such as incorrect data transmitted, waste of memory spaces occurred during data recording and limited erasing times.
Hence, it needs to provide a programming method for non-volatile memories programming bit signals unidirectionally, where an error correction code (ECC) is introduced into the present invention, thereby providing the capability of error-correction coding for preventing bit errors of storage memories, decreasing the utilization ratio of new pages to program updated data, and saving spaces of entire memory.